1. Technical Field
The present invention relates in general to scripting in component software architectures and in particular to a flexible scripting environment allowing the user to select a scripting language and create an run script in that language within a component software architecture such as Java. Still more particularly, the present invention relates to creating and running scripts of a user selected language in a hierarchical manner within a component software architecture.
2. Description of the Related Art
Component software architectures and rapid application development (RAD) tools are increasingly proliferating. Component software architectures employ discrete software components to quickly prototype and flesh out interactive applications. Applications are built by combining a set of independent components with developer-written code which acts as a "glue" between components, usually responding directly to component events by setting component properties or invoking component methods. One currently popular component software architecture is the Java Bean specification of the Java programming language.
Developed by Sun Microsystems, the portability, security, and intrinsic distributed programming support features of the Java programming language make this language useful for Internet programming. Java is a totally object-oriented, platform independent programming language, which achieves architectural independence by compiling source code into its own intermediate representation. Java source code is not compiled into normal machine code, but is translated into code for a virtual machine specifically designed to support Java's features. A Java interpreter or a Java enabled browser then executes the translated code. While Java source code must be compiled, no link step is required since the Java interpreter dynamically links the translated code at run time.
Java Beans is a component model for building and using Java-based software components. A "bean" is simply a Java class with extra descriptive information, similar to the concept of an OLE-type library. Unlike an OLE library, however, a bean is usually self-describing, including a file which contains the class's symbol information and method signatures and which may be scanned by a development tool to gather information about the bean, a process referred to as introspection. Any Java class with public methods may be considered a bean, but a bean typically has properties and events as well as methods.
In scripting components--writing executable scripts connecting various components--within a component software architecture such as Java beans, it would be desirable to allow the user to choose a scripting language for the creation and execution of scripts. It would also be advantageous to permit scripts written in a user-selected language to communicate with other script, possibly written in a different language, and allow script hierarchy based on visual embedding hierarchy.